I3DExRaytracer Struct Reference
[External Interfaces]

Inheritance diagram for I3DExRaytracer:

IMCUnknown List of all members.

Public Member Functions

virtual boolean MCCOMAPI LightBeam (LightBeamParams &params)=0
virtual boolean MCCOMAPI GetRayColor (TMCColorRGBA &resColor, const RayHitParameters &rayHitParams, const RTLevelInfo &level, const TVector2 &screenCoordinates, uint32 &numberOfRays, RayColorFlags flags)=0
virtual int32 GetLightCount ()=0
virtual boolean MCCOMAPI GetLightIntensity (DirectLighting &lighting, int32 lightIndex, const LightingContext &lightingContext, boolean withShadow, boolean lightFromBehind)=0
virtual void MCCOMAPI CalcReflections (ReflectionIO &reflectionIO, const LightingContext &lightingContext)=0
virtual void MCCOMAPI CalcTransparency (RefractionIO &transparencyIO, const LightingContext &lightingContext)=0
virtual void MCCOMAPI CalculateCaustic (TMCColorRGB &resColor, const LightingContext &lightingContext)=0
virtual void MCCOMAPI GetIndirectLighting (TMCColorRGB &resColor, const LightingContext &lightingContext)=0
virtual void MCCOMAPI GetSubsurfaceScattering (TMCColorRGB &inOutColor, const LightingContext &lightingContext, const ShadingOut &shading)=0
virtual void MCCOMAPI GetBackGroundColor (TMCColorRGBA &color, boolean &fullAreaDone, const Ray3D &ray, const TVector2 &uv, boolean showbackdrop, boolean showBackGround, boolean indirectLight)=0
virtual void MCCOMAPI GetLightDirection (TVector3 &lightDirection, int32 lightIndex, const LightingContext &lightingContext)=0
virtual void MCCOMAPI GetLightSource (I3DShLightsource **source, int32 lightIndex)=0
virtual const IllumSettings
&MCCOMAPI 
GetIllumSettings ()=0
virtual const RendEnv &MCCOMAPI GetRendEnv ()=0

Detailed Description

This interface is usually implemented by a final renderer or by an object created by a final renderer. It is passed to the shaders so that they can use it to calculate the lighting.


Member Function Documentation

virtual void MCCOMAPI I3DExRaytracer::CalcReflections (  ReflectionIO &  reflectionIO,
const LightingContext &  lightingContext
)  [pure virtual]
 

Calculates the light the comes from the reflection

Parameters:
reflectionIO : the reflection data
lightingContext : information about the hit point

virtual void MCCOMAPI I3DExRaytracer::CalcTransparency (  RefractionIO &  transparencyIO,
const LightingContext &  lightingContext
)  [pure virtual]
 

Calculates the light the comes from the transparency

Parameters:
transparencyIO : the transparency data
lightingContext : information about the hit point

virtual void MCCOMAPI I3DExRaytracer::CalculateCaustic (  TMCColorRGB &  resColor,
const LightingContext &  lightingContext
)  [pure virtual]
 

Calculates the caustics at a given point.

Parameters:
resColor : the caustic light color.
lightingContext : information about the hit point.

virtual void MCCOMAPI I3DExRaytracer::GetBackGroundColor (  TMCColorRGBA &  color,
boolean &  fullAreaDone,
const Ray3D &  ray,
const TVector2 &  uv,
boolean  showbackdrop,
boolean  showBackGround,
boolean  indirectLight
)  [pure virtual]
 

Calculate the color of the background/backdrop seen through a particular ray. Note that the backdrop should only be visible through direct ray from the camera.

The atmosphere is also applied on the color along the ray.

Parameters:
color : the color returned
fullAreaDone : returns true if antialising has been performed
ray : the ray
uv : The screen coordinates
showbackdrop : True if the backdrop should be taken into account (normally only for rays coming directly from that Camera)
showBackGround : True if the backgroundshould be taken into account
indirectLight : True if this is a ray used to calculate indirect lighting (for global illumination)

virtual const IllumSettings& MCCOMAPI I3DExRaytracer::GetIllumSettings (   )  [pure virtual]
 

Returns the current illumination settings of the renderer

virtual void MCCOMAPI I3DExRaytracer::GetIndirectLighting (  TMCColorRGB &  resColor,
const LightingContext &  lightingContext
)  [pure virtual]
 

Computes the indirect lighting of a point by sampling the direction around its normal.

Parameters:
resColor : the indirect diffuse lighting.
lightingContext : information about the hit point.

virtual int32 I3DExRaytracer::GetLightCount (   )  [pure virtual]
 

Returns the number of lights in the scene

virtual void MCCOMAPI I3DExRaytracer::GetLightDirection (  TVector3 &  lightDirection,
int32  lightIndex,
const LightingContext &  lightingContext
)  [pure virtual]
 

Returns the direction of a given light

Parameters:
lightDirection Direction from the point to the light source.
lightIndex Index of the light (should be inferior to the value returned by GetLightCount)
lightingContext Information about the hit point

virtual boolean MCCOMAPI I3DExRaytracer::GetLightIntensity (  DirectLighting &  lighting,
int32  lightIndex,
const LightingContext &  lightingContext,
boolean  withShadow,
boolean  lightFromBehind
)  [pure virtual]
 

Calculates the lighting from one light for the current point.

Parameters:
lighting intensity of the lighting
lightIndex index of the light (should be inferior to the value returned by GetLightCount)
lightingContext information about the hit point
withShadow if true then the shadow are calculated
lightFromBehind if true the light is calculated even if the light is behind the surface
Returns:
True if the light is emitting light in that direction (without taking the shadows into account)

virtual void MCCOMAPI I3DExRaytracer::GetLightSource (  I3DShLightsource **  source,
int32  lightIndex
)  [pure virtual]
 

Returns the pointer to the instance of a light

Parameters:
source return pointer
lightIndex Index of the light (should be inferior to the value returned by GetLightCount)

virtual boolean MCCOMAPI I3DExRaytracer::GetRayColor (  TMCColorRGBA &  resColor,
const RayHitParameters &  rayHitParams,
const RTLevelInfo &  level,
const TVector2 &  screenCoordinates,
uint32 &  numberOfRays,
RayColorFlags  flags
)  [pure virtual]
 

Returns the color of a ray given in RayHitParameters in resColor

Parameters:
resColor : The color that is returned
rayHitParams : The parameters of the ray
level : The level of reflection/transparency
screenCoordinates : The coordinates of the point on the screen whose color depends on that ray.
numberOfRays : return the number of rays used to evaluate this sample
flags : Flags to control what should be taken into account in the shading of the hit point.

virtual const RendEnv& MCCOMAPI I3DExRaytracer::GetRendEnv (   )  [pure virtual]
 

Returns the current rendering environment

virtual void MCCOMAPI I3DExRaytracer::GetSubsurfaceScattering (  TMCColorRGB &  inOutColor,
const LightingContext &  lightingContext,
const ShadingOut &  shading
)  [pure virtual]
 

Computes the subsurface scattering in one point

Parameters:
inOutColor On input the light reflected from the surface, on output the subsurface scattering is added
lightingContext Information about the hit point
shading The shading information at the hit point.

virtual boolean MCCOMAPI I3DExRaytracer::LightBeam (  LightBeamParams &  params  )  [pure virtual]
 

Traces a ray between two points (tmax should be normally finite). This is used by the shadow feature to calculate the shadows.

Parameters:
params : The parameters describing the beam
Returns:
True if there was a hit


The documentation for this struct was generated from the following file:
Generated on Wed Dec 7 14:27:32 2005 for Carrara SDK Doc by  doxygen 1.4.5